package com.hmy.pig.service;

import com.hmy.pig.domain.HmyPigBreed;
import com.hmy.staff.domain.HmyStaff;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 猪只配种 业务层
 *
 * @author zhl
 */
public interface PigBreedService {

    /**
     * 根据条件分页查询猪只列表:  条件 猪只耳号、猪舍类型、出生时间
     *
     * @param pigCode 猪只耳号
     * @param pigBreedType 配种方式
     * @param pigBreedManager 配种负责人
     * @param pigBreedTimeStart 配种 开始时间
     * @param pigBreedTimeEnd 配种结束时间
     * @return 猪只信息集合信息
     */

    List<HmyPigBreed> selectPigBreedList(@Param("pigCode") String pigCode,
                                         @Param("pigBreedType") Integer pigBreedType,
                                         @Param("pigBreedManager")  String pigBreedManager,
                                         @Param("dateStart") String pigBreedTimeStart,
                                         @Param("dateEnd") String pigBreedTimeEnd);
    /**
     * 新增猪只配种记录
     *
     * @param hmyPigBreed 新增猪只配种记录
     * @return 结果
     * @author zhl
     */
    public int insertPigBreed(HmyPigBreed hmyPigBreed);

    /**
     *  通过猪只耳号查询猪只
     *
     * @author ZHL
     * @date 2024/1/30 9:57
     *
     */
    HmyPigBreed selectPigBreedByPigBreedId(Long pigBreedId);

    /**
     * @param hmyPigBreed
     * @return int
     * @author ZHL
     * @date 2024/1/30 10:07
     * @description 修改猪只档案信息
     */
    int  updatePigBreed(HmyPigBreed hmyPigBreed);

    /**
     * @param pigBreedId
     * @return int
     * @author ZHL
     * @date 2024/1/30 10:26
     * @description   通过PigId 删除 猪只档案信息
     */
    int  deletePigBreedByPigBreedId(Long pigBreedId);
    /**
     * @param pigBreedIds
     * @return int
     * @author ZHL
     * @date 2024/1/30 13:38
     * @description    批量删除猪只档案信息
     */
    int deletePigBreedByPigBreedIds(Long[] pigBreedIds);
    /**
     * 获取员工表中所有的配种管理员
     * @return
     */
    public List<HmyStaff> findAllStaffName();
}
